﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using BonjourQuotation.ObjectModel.ReportGenerator;

namespace BonjourQuotation.UI.GeneratedReport
{
    public class VndGrpRepData
    {
        public static Dictionary<string, Dictionary<string, TablixProprties>> TabColumns { get; private set; }
        public static Dictionary<string, PageProprties> PaperProprties { get; private set; }
        public static Dictionary<string, string> Category { get; private set; }
        public static Dictionary<bool, string> Plane { get; private set; }
        static VndGrpRepData()
        {
            Category = new Dictionary<string, string> { { "L", "L" }, { "D", "D" } };
            Plane = new Dictionary<bool, string> { { true, "Yes" }, { false, "No" } };
            PaperProprties = new Dictionary<string, PageProprties> { { "Letter", new PageProprties { PageWidth = "216mm", PageHeight = "279mm", BodyWidht = "190mm", BodyHeight = "223mm" } }, { "A4", new PageProprties { PageWidth = "210mm", PageHeight = "297mm", BodyWidht = "185mm", BodyHeight = "241mm" }}};
            TabColumns = new Dictionary<string, Dictionary<string, TablixProprties>>()
            {
                {
                    "Hotel", new Dictionary<string, TablixProprties> {
                             {"CustomerName", new TablixProprties(){ ColumnName = "Customer", ColumnWidth = "2.8cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"GroupName", new TablixProprties(){ ColumnName = "Group Name", ColumnWidth = "2.8cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"GroupCode", new TablixProprties(){ ColumnName = "Group Code", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"ArrivalCity", new TablixProprties(){ColumnName = "City", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"NoOfPerson", new TablixProprties(){ ColumnName = "Pax", ColumnWidth = "1cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"Month", new TablixProprties(){ColumnName = "Month", ColumnWidth = "1.6cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"VendorConfStatus", new TablixProprties(){ ColumnName = "Status", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"ArrivalDate", new TablixProprties(){ColumnName = "Arrival", ColumnWidth = "1.7cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"FileCreatedDate", new TablixProprties(){ ColumnName = "File Created", ColumnWidth = "2.5cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                    }
                },
                {
                     "Attractions", new Dictionary<string, TablixProprties> {
                                    {"CustomerName", new TablixProprties(){ ColumnName = "Customer", ColumnWidth = "2.9cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                    {"GroupName", new TablixProprties(){ ColumnName = "Group Name", ColumnWidth = "2.9cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                    {"GroupCode", new TablixProprties(){ ColumnName = "Group Code", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                    {"Month", new TablixProprties(){ColumnName = "Month", ColumnWidth = "1.6cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                    {"VendorConfStatus", new TablixProprties(){ ColumnName = "Status", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                    {"Optional", new TablixProprties(){ ColumnName = "Opt", ColumnWidth = "0.8cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                    {"Invoice", new TablixProprties(){ ColumnName = "Inv", ColumnWidth = "0.8cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                    {"EmployeeName", new TablixProprties(){ ColumnName = "Employee", ColumnWidth = "2.7cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                    {"NoOfPerson", new TablixProprties(){ ColumnName = "Pax", ColumnWidth = "1cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                    {"ArrivalDate", new TablixProprties(){ColumnName = "Start", ColumnWidth = "1.7cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                    }
                },
                {
                    "Restaurants", new Dictionary<string, TablixProprties> {
                                   {"CustomerName", new TablixProprties(){ ColumnName = "Customer", ColumnWidth = "2.8cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"GroupName", new TablixProprties(){ ColumnName = "Group Name", ColumnWidth = "2.8cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"GroupCode", new TablixProprties(){ ColumnName = "Group Code", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"Month", new TablixProprties(){ColumnName = "Month", ColumnWidth = "1.5cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"Category", new TablixProprties(){ColumnName = "Type", ColumnWidth = "1cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"VendorConfStatus", new TablixProprties(){ ColumnName = "Status", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"Optional", new TablixProprties(){ ColumnName = "Opt", ColumnWidth = "0.8cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"Invoice", new TablixProprties(){ ColumnName = "Inv", ColumnWidth = "0.8cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"EmployeeName", new TablixProprties(){ ColumnName = "Employee", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"NoOfPerson", new TablixProprties(){ ColumnName = "Pax", ColumnWidth = "1cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"ArrivalDate", new TablixProprties(){ColumnName = "Start", ColumnWidth = "1.7cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                   {"Menu", new TablixProprties(){ ColumnName = "Menu", ColumnWidth = "2.4cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                    }
                },
                {
                     "Misc", new Dictionary<string, TablixProprties> {
                             {"CustomerName", new TablixProprties(){ ColumnName = "Customer", ColumnWidth = "3.7cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"GroupName", new TablixProprties(){ ColumnName = "Group Name", ColumnWidth = "3.7cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"GroupCode", new TablixProprties(){ ColumnName = "Group Code", ColumnWidth = "2.2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"VendorConfStatus", new TablixProprties(){ ColumnName = "Status", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"NoOfPerson", new TablixProprties(){ ColumnName = "Pax", ColumnWidth = "1cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"EstNoOfPerson", new TablixProprties(){ ColumnName = "Est. Pax", ColumnWidth = "1.4cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"IsPlane", new TablixProprties(){ ColumnName = "Plane", ColumnWidth = "1cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"ArrivalDate", new TablixProprties(){ColumnName = "Arrival", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"Month", new TablixProprties(){ColumnName = "Month", ColumnWidth = "1.4cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                             {"Notes", new TablixProprties(){ColumnName = "Notes", ColumnWidth = "4cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                    }
                },
                {
                     "Bus", new Dictionary<string, TablixProprties> {
                            {"CustomerName", new TablixProprties(){ ColumnName = "Customer", ColumnWidth = "3cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"GroupName", new TablixProprties(){ ColumnName = "Group Name", ColumnWidth = "3cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"GroupCode", new TablixProprties(){ ColumnName = "Group Code", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"NoOfPerson", new TablixProprties(){ ColumnName = "Pax", ColumnWidth = "1cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"EstNoOfPerson", new TablixProprties(){ ColumnName = "Est. Pax", ColumnWidth = "1.3cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"BusCount", new TablixProprties(){ ColumnName = "Bus Count", ColumnWidth = "2.4cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"Month", new TablixProprties(){ColumnName = "Month", ColumnWidth = "1.6cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"ArrivalDate", new TablixProprties(){ColumnName = "Start", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"ServiceDetail", new TablixProprties(){ColumnName = "Service Detail", ColumnWidth = "3cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"ServiceDate", new TablixProprties(){ColumnName = "Service Date", ColumnWidth = "3cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"StartCity", new TablixProprties(){ColumnName = "Start City", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"EndCity", new TablixProprties(){ColumnName = "End City", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"VendorConfStatus", new TablixProprties(){ ColumnName = "Status", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                            {"Notes", new TablixProprties(){ColumnName = "Notes", ColumnWidth = "4cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                    }
                },
                {
                     "Guide", new Dictionary<string, TablixProprties> {
                              {"CustomerName", new TablixProprties(){ ColumnName = "Customer", ColumnWidth = "3.3cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                              {"GroupCode", new TablixProprties(){ ColumnName = "Group Code", ColumnWidth = "2.2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                              {"GroupName", new TablixProprties(){ ColumnName = "Group Name", ColumnWidth = "3.6cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                              {"ArrivalDate", new TablixProprties(){ColumnName = "Arrival", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                              {"NoOfPerson", new TablixProprties(){ ColumnName = "Pax", ColumnWidth = "1.9cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                    }
                },
                {
                    "Group CheckList", new Dictionary<string, TablixProprties> {
                                           {"CustomerName", new TablixProprties(){ ColumnName = "Customer", ColumnWidth = "3.2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                           {"GroupName", new TablixProprties(){ ColumnName = "Group Name", ColumnWidth = "3.2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                           {"GroupCode", new TablixProprties(){ ColumnName = "Group Code", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                           {"IsGir", new TablixProprties(){ColumnName = "Is Gir", ColumnWidth = "1.2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                           {"NoOfPerson", new TablixProprties(){ ColumnName = "Pax", ColumnWidth = "1cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                           {"Month", new TablixProprties(){ColumnName = "Month", ColumnWidth = "1.6cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                           {"VendorConfStatus", new TablixProprties(){ ColumnName = "Status", ColumnWidth = "2cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                           {"ArrivalDate", new TablixProprties(){ColumnName = "Arrival", ColumnWidth = "1.7cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                                           {"FileCreatedDate", new TablixProprties(){ ColumnName = "File Created", ColumnWidth = "2.5cm", ColumnTextAlign = "Left", ColumnColor = "Black",}},
                    }
                },
            };
        }
    }
}